package com.xnx3.wangmarket.admin.service;

import com.xnx3.wangmarket.admin.entity.*;
import com.xnx3.wangmarket.admin.vo.CompanyInfoVo;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * 主页信息
 **/
public interface CompanyInfoService {

    /***
     * 获取当前设置的信息
     * **/
    public List<CompanyInfo> queryCompanyInfo(int userid);

    /**
     * 新增,修改信息
     **/
    public void updateCompanyInfo(CompanyInfo companyInfo, int userid, HttpServletRequest request);

    /***
     * 删除轮播图
     * ***/
    void delCompanyInfo(CompanyInfo companyInfo);

    /***
     * 主页展示最新产品信息
     * ***/
    public List<Product> queryProductInfo(int userid);

    /***
     * 获取栏目详细信息
     * ***/
    public List<News> queryNewList(int userid, Integer id);

    /***
     * 查询公司产品信息，主页展示前四条
     * **/
    List<Product> queryProduct(int userid);

    /***
     * 新闻信息
     * **/
    List<News> queryNews(int userid, int cid);

    /***
     * 新闻信息
     * **/
    List<News> queryAllNews(int userid, int cid);

    /**
     * 新闻文本查询
     **/
    List<NewsData> queryNewsData(int id);

    /**
     * 查询一级新闻类栏目
     **/
    List<SiteColumn> queryNewsOneColumn(int userid);

    /**
     * 查询二级级新闻类栏目
     **/
    List<SiteColumn> queryNewsTwoColumn(int parentid, int userid);

    /***
     * 查询公司实验信息，主页展示前四条
     * **/
    List<EmpiricalConclusion> queryEmpirical(int userid);

    /***
     * 产品二级查询
     * **/
    List<Product> twoSelProduct(int siteColumnId, int userid);

    /***
     * 实验展示二级查询
     * ***/
    List<EmpiricalConclusion> twoSelEmpircal(int siteColumnId, int userid);

    /***
     * 查询所有最新产品8条
     * **/
    List<Product> allProduct();

    /***
     * 查询网站信息
     * **/
    List<Site> querySite(int userId);

    /****
     * 查询访问网站数量
     * **/
    List<Site> queryCountNum();

    /*****
     * 更新网站访问数量
     * ****/
    void updateCountNum(int userId, int count);

    /***
     * 查询当前访问数量
     * ***/
    List<Site> queryNum(int userId);

    /***
     * 查询最美乡村
     * **/
    List<News> queryNews(int page, int count, News news);

    Page findNewsPage(int page, int count, News news);

    /**
     * 查询服务示范
     **/

    Map<String, Object> getServiceDemon(String areaCode, int num);

    /**
     * 查询服务示范点击更多
     **/
    List<VUserIntroView> getPageServiceDemonstration(VUserIntroView VUserIntroView, int page, int num);

    Page findSitePage(VUserIntroView VUserIntroView, int page, int num);

    int getNumPage(VUserIntroView VUserIntroView);

    /**
     * 查询最新新闻
     **/
    List<VUserNewsView> getLatestNews(int areaCode);

    /**
     * 查询所有新闻信息，并分页
     **/
    List<VUserNewsView> getPageNews(int areaCode, int page, int num);

    Page findNewsPage(int areaCode, int page, int num);

    /***
     * 查询溯源二维码和推广视频
     * **/
    List<PersionQRcode> getQRcodes(int userid);
    /**
     * 查询推广视频
     * **/
    List<PersionVideo> getVideos(int userid);
}
